1. Field of invention
The present invention relates to a vector quantization encoder and a vector quantization decoder employed for compressing and decompressing speech signals etc, and particularly to a vector quantization encoder and a vector quantization decoder that can reduce the memory size of a code book used for carrying out encoding and decoding processes as well as reducing an amount of operations of the encoding and decoding processes.
2. Description of the Related Art
Generally, in a vector quantization device employed for compressing and decompressing speech signals etc, a vector quantization encoder or a vector quantization decoder has a single codebook containing a plurality of code vectors having indices. According to the indices, encoding and decoding processes are carried out. By increasing the quantity of the code vectors stored in the codebook, the quality of a reproduced speech signal may be improved. The increase of the volume of the codebook, however, increases the amount of encoding or decoding operations as well as the hardware volume, thereby impairing the practicality of the system. In designing the vector quantization encoder or decoder, therefore, it is important to maintain the quality of reproduced speech signals while suppressing an increase in the amount of operations or the hardware volume.
FIG. 5 shows a conventional vector quantization encoder employed in a vector quantization device.
In FIG. 5, the vector quantization encoder 100 includes a codebook 1 storing a plurality of code vectors C1 to Cn that are selectively output according to input indices; a synthesis filter 3 that reproduces a speech signal X from a code vector selectively provided by the codebook 1; an error computing means 5 for adding the reproduced speech signal X and a wave shape of an input speech signal to be encoded to each other and computing an error between them; and an error evaluating means 6 for evaluating an error E provided by the error computing means 5.
According to a gain shape vector quantization encoding technique that normalizes energy of each code vector of the codebook 1 and separates an amplification component and phase component from each other, the encoder 100 further includes a gain means 2 for multiplying a normalized code vector from the codebook 1 by a gain (a different gain value being given for each code vector).
In this conventional vector quantization encoder 100, an squared norm Ek (k=1 to n) of an error E of one code vector of the codebook 1 computed by the error computing means 5 is expressed as follows: EQU Ek=S-Xk2
The error evaluating means 6 selects an index with which the above equation provides a minimum value. An index for one of the code vectors of the codebook 1 that provides the minimum of the value Ek is selected as a code representing a speech signal to be encoded. In the above equation, the following relation is established: EQU Xk=gHC.sub.k
where S is a wave shape of the speech signal to be encoded, H is a impulse response matrix of the synthesis filter, which H is expressed as ##EQU1## in a from of a lower left side triangle matrix where h.sub.0,h.sub.1,h.sub.2, . . . are impulse responses of the synthesis filter is a filtering process, g is a gain, and Ck is one code vector of the codebook 1.
Similarly, a conventional vector quantization decoder includes a codebook 1, a gain means 2, and a synthesis filter 3, which are identical with those of the encoder 100. The decoder receives an index encoded by the encoder 100, selects one of code vectors stored in the codebook 1 according to the received index, and reproduces a signal wave shape through the synthesis filter 3.
The conventional vector quantization encoder or decoder has only one codebook 1.
To accurately reproduce an encoded signal wave shape with such a conventional vector quantization encoder or decoder, it is necessary to reduce quantization distortion. To do so, the number of code vectors stored in the codebook 1 must be increased. To increase the number of code vectors, it is necessary to increase the memory size of the codebook 1. This may increase the length of each index, thereby increasing transmission quantities and congesting communication lines. In addition, it increases an amount of operations needed for finding an optimum index as well as a hardware volume.